package org.dreamfly.core.dao.impl;

import org.dreamfly.core.bean.SzAdmin;
import org.dreamfly.core.dao.AdminDAO;
import org.hibernate.Criteria;
import org.hibernate.criterion.Expression;

import java.util.List;

import static org.hibernate.criterion.Restrictions.eq;

/**
 * @author  Yao  已经修改
 * @date 2010-10-11
 * @time 下午07:54:52
 */
@SuppressWarnings("deprecation")
public class AdminDAOImpl extends BaseDAOImpl<SzAdmin,Long> implements AdminDAO{

	@SuppressWarnings("unchecked")
	@Override
	public boolean Login(String adminName, String adminPassword) {
		/**
		 * Criteria只是一個查询的容器
		 */
		Criteria criteria=this.getSession().createCriteria(SzAdmin.class);
		/**
		 * 查询用户名为adminName 密码为adminPassword的用户
		 */
		criteria.add(Expression.eq("username", adminName));
		criteria.add(Expression.eq("password", adminPassword));
		/**
		 * criteria.setMaxResults(1);应该是分页操作时使用的   对这里查询用户名和密码使用是错误的
		 */
		//criteria.setMaxResults(1);
		/**
		 * 查询的结果将会是有一条记录后者是没有的
		 */
		   List list=criteria.list();
		/**
		 * 表达式尽量用小括号   比较清楚和严谨
		 */
		return ((null==list) || list.isEmpty()) ? false : true;
	}

    @Override
    public SzAdmin findByName(String username) {
        Criteria criteria = this.getSession().createCriteria(SzAdmin.class);
        criteria.add(eq("username",username));
        return (SzAdmin) criteria.list().get(0);
    }

}
